//
//  DateTool.h
//  分类总结-字符串和时间的故事
//
//  Created by tianlong on 2018/3/12.
//  Copyright © 2018年 tianlong. All rights reserved.
//

#import <Foundation/Foundation.h>

/**
 必须知道的内容
 
 typedef NS_ENUM(NSUInteger, NSDateFormatterStyle) {
 // 什么都不显示
 NSDateFormatterNoStyle = kCFDateFormatterNoStyle,
 // 7:11 AM
 NSDateFormatterShortStyle = kCFDateFormatterShortStyle,
 // 7:11:29 AM
 NSDateFormatterMediumStyle = kCFDateFormatterMediumStyle,
 // 7:11:29 AM GMT+8
 NSDateFormatterLongStyle = kCFDateFormatterLongStyle,
 // 7:11:29 AM China Standard Time
 NSDateFormatterFullStyle = kCFDateFormatterFullStyle
 };
 
 G: 公元时代，例如AD公元
 yy: 年的后2位
 yyyy: 完整年
 MM: 月，显示为1-12
 MMM: 月，显示为英文月份简写,如 Jan
 MMMM: 月，显示为英文月份全称，如 Janualy
 dd: 日，2位数表示，如02
 d: 日，1-2位显示，如 2
 EEE: 简写星期几，如Sun
 EEEE: 全写星期几，如Sunday
 aa: 上下午，AM/PM
 H: 时，24小时制，0-23
 K：时，12小时制，0-11
 m: 分，1-2位
 mm: 分，2位
 s: 秒，1-2位
 ss: 秒，2位
 S: 毫秒
 例如
 yyyy-MM-dd hh:mm:ss // 2015-11-20 08:24:04
 yyyy-MM-dd // 2015-11-20
 yyyy-MM-dd eeee aa HH:mm:ss // 2015-11-20 Friday AM 08:30:28
 yyyy-MM-dd hh:mm:ss z // 2015-11-20 08:42:22 GMT+8
 */


@interface DateTool : NSObject

#pragma mark - secs to date
+ (NSDate *)toDateFromSecsString:(NSString *)secsStr;

#pragma mark - secs to string
+ (NSString *)toTimeStringFromSecsString:(NSString *)secsStr dateFormatString:(NSString *)formatStr;
+ (NSString *)toTimeStringFromSecsString:(NSString *)secsStr dateFormat:(NSDateFormatter *)dateFormat;

#pragma mark - date to string，如：NSDate转2018:09:09
+ (NSString *)toTimeStringFromDate:(NSDate *)date dateFormatString:(NSString *)formatStr;
+ (NSString *)toTimeStringFromDate:(NSDate *)date dateFormat:(NSDateFormatter *)dateFormat;


#pragma mark - string to date，如：2018:09:09转NSDate
/**
 string转date要求比较严格，format的格式必须一一对
 例如时间为 2018-09-09，则format必须为 yyyy-MM-dd
 */
+ (NSDate *)toDateFromTimeString:(NSString *)timeStr dateFormatString:(NSString *)formatStr;
+ (NSDate *)toDateFromTimeString:(NSString *)timeStr dateFormat:(NSDateFormatter *)dateFormat;
@end
